package com.util;

import org.junit.Test;

import java.io.IOException;
import java.util.Properties;

/**
 * @Description
 * @Author away
 * @Version V1.0.0
 * @Since 1.0
 * @Date 2019/2/15
 */
public class PropertiesDemo {

    /**
     * 测试classpath下面的 test.properties 文件加载之后，更新文件是否重新加载
     * 操作过程：
     *      将resources文件夹在 modules 设置为resources 然后运行时修改test.properties文件。
     * getResourceAsStream()  会将文件内容加载在内存当中。
     * https://reeboo.iteye.com/blog/1980961
     使用创建文件的方法，可以每次更新文件
     String dirPath = Thread.currentThread().getContextClassLoader().getResource("").getPath();//获取config.properties文件所在的父目录
     File file = new File(dirPath,"config.properties");
     */
    @Test
    public void test01(){

        try {
            Properties props = new Properties();
            props.load(PropertiesDemo.class.getClassLoader()
                    .getResourceAsStream("./resources/test.properties"));
            String result  = props.getProperty("tyCXPackage");
            System.out.println(result);

            System.out.println("please modify file");
            Thread.sleep(10000);
            System.out.println("end modify file");

            Properties props2 = new Properties();
            props2.load(PropertiesDemo.class.getClassLoader()
                    .getResourceAsStream("./resources/test.properties"));
             result  = props2.getProperty("tyCXPackage");
            System.out.println(result);

        } catch (IOException e) {
            e.printStackTrace();
        } catch (InterruptedException e) {
            e.printStackTrace();
        }


    }

}
